package control.construirEdificio;

import jugadores.Jugador;
import mapas.Region;
import edificios.Fabrica;
import excepcionesGenerales.ExcepAtributoInvalido;
import excepcionesGenerales.ExcepImposibleEjecutar;
import excepcionesJugador.ExcepSinFondos;
import excepcionesRegion.ExcepRegionNoConquistada;

/**
 * @author Grupo 2, Algoritmos y programacion 3, Catedra Fontela<br>1er cuat 2007    
 * <br>Esta clase se encarga de representar un producto del tipo fabrica, que se puede comprar
 */

public class ProductoFabrica extends ProductoEdificio {

	public ProductoFabrica() {
		Fabrica fab = new Fabrica(null, null);
		setNombre("Fabrica");
		setCoste(fab.getCosto());
		setTiempo(fab.getTiempoDeConstruccion());
	}

	public void Comprar(Jugador jugador, Region region) throws ExcepImposibleEjecutar, ExcepSinFondos, ExcepRegionNoConquistada{
		try{
			jugador.construirFabrica(region);
		} catch (ExcepAtributoInvalido e){
			throw new ExcepImposibleEjecutar();
		}
	}

}
